package net.huashitong.mapper.sys;


import net.huashitong.ssydt.sys.entity.SsSysBas;
import net.huashitong.ssydt.sys.entity.vo.SsSysBasNewTypeVO;
import net.huashitong.ssydt.sys.entity.vo.SsSysBasQueryInVO;
import org.apache.ibatis.annotations.Mapper;

import java.util.List;

@Mapper
public interface SsSysBasMapper {

    int deleteByPrimaryKey(Long id);

    int insert(SsSysBas record);

    int insertSelective(SsSysBas record);

    SsSysBas selectByPrimaryKey(Long id);

    int updateByPrimaryKeySelective(SsSysBas record);

    int updateByPrimaryKey(SsSysBas record);

    List<SsSysBas> queryByBasType(String basType);

    SsSysBas getByBasTypeAndDictValue(SsSysBas ssSysBas);

    List<SsSysBas> queryNotTypeByBasType(String basType);

    List<SsSysBas> queryNotTypeByBasTypeAndAttr1(SsSysBas ssSysBas);

    /**
     * 列表查询
     *
     * @param ssSysBasQueryInVO 查询条件
     * @return 对象列表
     */
    List<SsSysBas> query(SsSysBasQueryInVO ssSysBasQueryInVO);

    /**
     * 分页查询记录总数统计
     *
     * @param ssSysBasQueryInVO 查询条件
     * @return 总记录数
     */
    int queryCount(SsSysBasQueryInVO ssSysBasQueryInVO);

    /**
     * 批量更新字典所属类型
     *
     * @param ssSysBasNewTypeVO 类型名称修改
     */
    void updateBasType(SsSysBasNewTypeVO ssSysBasNewTypeVO);
}